package com.aki.ai_property.service.impl;

import com.aki.ai_property.dao.HouseDao;
import com.aki.ai_property.dto.HouseExportDto;
import com.aki.ai_property.dto.SellHouseDto;
import com.aki.ai_property.dto.HouseExportDto;
import com.aki.ai_property.entity.House;
import com.aki.ai_property.service.intf.HouseService;
import com.aki.ai_property.util.StringUtil;
import com.aki.ai_property.vo.PageBean;
import com.aki.ai_property.vo.Result;
import com.fasterxml.jackson.databind.util.JSONPObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * Author:WuChuangChuang
 * Date:2022/8/27 15:14
 */
@Service
public class HouseServiceImpl implements HouseService {
    @Autowired
    private HouseDao dao;

    /** 新增 */
    @Override
    public Result save(House house) {
        if (dao.save(house) >0){
            return Result.ok("新增成功");
        }
        return Result.fail("新增失败");
    }

    /** 修改 */
    @Override
    public Result update(House house) {
        if (dao.update(house) >0){
            return Result.ok("修改成功");
        }
        return Result.fail("修改失败");
    }

    /** 删除 */
    @Override
    public Result delete(int id) {
        if (dao.delete(id) >0){
            return Result.ok("删除成功");
        }
        return Result.fail("删除失败");
    }


    /** 查询条数 */
    @Override
    public PageBean selectPage(String houseType,int page,int limit) {
        if (StringUtil.isNotEmpty(houseType)){
            houseType="%"+houseType+"%";
        }
        int start = (page-1)*limit;
        return PageBean.ok(dao.selectCount(houseType), dao.selectPage(houseType,page, limit));
    }

//    /** 查询全部
//     * @return*/
//    @Override
//    public Result all() {
//        System.out.println("查询全部"+System.currentTimeMillis()+dao.all());
//        return Result.ok(dao.all());
//    }

    /**查询所有房源信息，用于导出*/
    @Override
    public List<HouseExportDto> allHouse() {
        return dao.allHouse();
    }

    @Override
    public Result all() {
        return null;
    }
}
